[INFO] cloning repository https://github.com/AlextheYounga/gitbones
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AlextheYounga/gitbones" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlextheYounga%2Fgitbones", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlextheYounga%2Fgitbones'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 503e9f54c9dcf51dbe64787bf6c892b23250dc4e
[INFO] testing AlextheYounga/gitbones against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlextheYounga%2Fgitbones" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/AlextheYounga/gitbones
[INFO] finished tweaking git repo https://github.com/AlextheYounga/gitbones
[INFO] tweaked toml for git repo https://github.com/AlextheYounga/gitbones written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AlextheYounga/gitbones on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AlextheYounga/gitbones already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e22b008a3f0f0e5d6dea363d117ffd5979d2a676d3266b62be3e6734d4c596ac
[INFO] running `Command { std: "docker" "start" "-a" "e22b008a3f0f0e5d6dea363d117ffd5979d2a676d3266b62be3e6734d4c596ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e22b008a3f0f0e5d6dea363d117ffd5979d2a676d3266b62be3e6734d4c596ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e22b008a3f0f0e5d6dea363d117ffd5979d2a676d3266b62be3e6734d4c596ac", kill_on_drop: false }`
[INFO] [stdout] e22b008a3f0f0e5d6dea363d117ffd5979d2a676d3266b62be3e6734d4c596ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f5d8024b34cf25cdf30c604ec934ad1ea2f3c303ea29e2b370a05b116d045fc8
[INFO] running `Command { std: "docker" "start" "-a" "f5d8024b34cf25cdf30c604ec934ad1ea2f3c303ea29e2b370a05b116d045fc8", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling log v0.4.32
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling serde_yml v0.0.12
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling libyml v0.0.5
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling rust-embed-utils v8.11.0
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling fuzzy-matcher v0.3.7
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling shell-escape v0.1.5
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling bonesdeploy-e2e-tests v0.1.0 (/opt/rustwide/workdir/tests/e2e)
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling strum v0.24.1
[INFO] [stderr]    Compiling spinners v4.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling typed-builder-macro v0.23.2
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling rust-embed-impl v8.11.0
[INFO] [stderr]    Compiling rust-embed v8.11.0
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling cleancode v0.1.0 (/opt/rustwide/workdir/tests/cleancode)
[INFO] [stderr]    Compiling inquire v0.9.4
[INFO] [stderr]    Compiling typed-builder v0.23.2
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling ssh_format_error v0.1.0
[INFO] [stderr]    Compiling non-zero-byte-slice v0.1.0
[INFO] [stderr]    Compiling openssh-mux-client-error v0.1.1
[INFO] [stderr]    Compiling ssh_format v0.14.1
[INFO] [stderr]    Compiling shared v0.1.0 (/opt/rustwide/workdir/crates/shared)
[INFO] [stderr]    Compiling sendfd v0.4.4
[INFO] [stderr]    Compiling tokio-io-utility v0.7.6
[INFO] [stderr]    Compiling openssh-mux-client v0.17.9
[INFO] [stderr]    Compiling bonesremote v0.3.2 (/opt/rustwide/workdir/crates/bonesremote)
[INFO] [stderr]    Compiling openssh v0.11.6
[INFO] [stderr]    Compiling bonesdeploy v0.3.2 (/opt/rustwide/workdir/crates/bonesdeploy)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.36s
[INFO] running `Command { std: "docker" "inspect" "f5d8024b34cf25cdf30c604ec934ad1ea2f3c303ea29e2b370a05b116d045fc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f5d8024b34cf25cdf30c604ec934ad1ea2f3c303ea29e2b370a05b116d045fc8", kill_on_drop: false }`
[INFO] [stdout] f5d8024b34cf25cdf30c604ec934ad1ea2f3c303ea29e2b370a05b116d045fc8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 684bf27454a03d04c9ee8d7520d44faeea457f2e7fede8dac923d1c1cc2a95f8
[INFO] running `Command { std: "docker" "start" "-a" "684bf27454a03d04c9ee8d7520d44faeea457f2e7fede8dac923d1c1cc2a95f8", kill_on_drop: false }`
[INFO] [stderr]    Compiling bonesdeploy-e2e-tests v0.1.0 (/opt/rustwide/workdir/tests/e2e)
[INFO] [stderr]    Compiling shared v0.1.0 (/opt/rustwide/workdir/crates/shared)
[INFO] [stderr]    Compiling bonesdeploy v0.3.2 (/opt/rustwide/workdir/crates/bonesdeploy)
[INFO] [stderr]    Compiling cleancode v0.1.0 (/opt/rustwide/workdir/tests/cleancode)
[INFO] [stderr]    Compiling bonesremote v0.3.2 (/opt/rustwide/workdir/crates/bonesremote)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.04s
[INFO] running `Command { std: "docker" "inspect" "684bf27454a03d04c9ee8d7520d44faeea457f2e7fede8dac923d1c1cc2a95f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "684bf27454a03d04c9ee8d7520d44faeea457f2e7fede8dac923d1c1cc2a95f8", kill_on_drop: false }`
[INFO] [stdout] 684bf27454a03d04c9ee8d7520d44faeea457f2e7fede8dac923d1c1cc2a95f8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c1bed8db4127cae5b823ff04cbeb2e8a3aac4d9bd94d8fb5c2fee887e0286d42
[INFO] running `Command { std: "docker" "start" "-a" "c1bed8db4127cae5b823ff04cbeb2e8a3aac4d9bd94d8fb5c2fee887e0286d42", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bonesdeploy-efd59acbb8e10ce8)
[INFO] [stdout] 
[INFO] [stdout] running 45 tests
[INFO] [stdout] test commands::init::tests::cli_existing_or_prompt_prefers_existing_value_before_prompt ... ok
[INFO] [stdout] test commands::manage::tests::shell_quote_single_handles_empty_string ... ok
[INFO] [stdout] test commands::manage::tests::shell_quote_single_escapes_embedded_single_quotes ... ok
[INFO] [stdout] test commands::manage::tests::shell_quote_single_wraps_plain_value_in_single_quotes ... ok
[INFO] [stdout] test commands::remote_setup::tests::resolve_bootstrap_ssh_user_defaults_to_root ... ok
[INFO] [stdout] test commands::remote_setup::tests::resolve_bootstrap_ssh_user_trims_and_rejects_blank_values ... ok
[INFO] [stdout] test commands::remote_setup::tests::resolve_bootstrap_ssh_user_uses_env_override ... ok
[INFO] [stdout] test commands::remote_setup_output::tests::build_ansible_vars_includes_merged_setup_apt_packages ... ok
[INFO] [stdout] test commands::remote_setup_output::tests::classify_output_line_ignores_warnings_and_noise ... ok
[INFO] [stdout] test commands::remote_setup_output::tests::clean_error_line_detects_ansible_failures ... ok
[INFO] [stdout] test commands::remote_setup_output::tests::classify_output_line_prefers_tasks_and_failures ... ok
[INFO] [stdout] test commands::remote_setup_output::tests::clean_task_line_accepts_ansible_decorated_task_headers ... ok
[INFO] [stdout] test commands::remote_setup_output::tests::clean_task_line_ignores_non_task_lines ... ok
[INFO] [stdout] test commands::remote_setup_output::tests::clean_task_line_keeps_plain_task_name_without_group_prefix ... ok
[INFO] [stdout] test commands::remote_setup_output::tests::clean_task_line_removes_ansible_task_wrapper ... ok
[INFO] [stdout] test commands::remote_setup_output::tests::format_progress_message_styles_current_task ... ok
[INFO] [stdout] test commands::remote_ssl::tests::remote_ssl_uses_ssl_only_ansible_tags ... ok
[INFO] [stdout] test commands::remote_ssl::tests::ssl_extra_vars_pass_enabled_as_typed_json_boolean ... ok
[INFO] [stdout] test commands::update::tests::rejects_manifest_without_package_version ... ok
[INFO] [stdout] test commands::update::tests::parses_package_version_from_manifest_package_section ... ok
[INFO] [stdout] test commands::update::tests::update_uses_master_branch_source_repository ... ok
[INFO] [stdout] test git::tests::parse_remote_url_rejects_non_git_paths ... ok
[INFO] [stdout] test git::tests::parse_remote_url_rejects_non_ssh_urls ... ok
[INFO] [stdout] test git::tests::parse_remote_url_rejects_relative_scp_paths ... ok
[INFO] [stdout] test git::tests::parse_scp_style_url_parses_absolute_repo_path ... ok
[INFO] [stdout] test git::tests::parse_scp_style_url_trims_surrounding_whitespace ... ok
[INFO] [stdout] test embedded::tests::python_bootstrap_script_is_embedded_from_crate_scripts_directory ... ok
[INFO] [stdout] test git::tests::parse_ssh_style_url_defaults_port_to_22 ... ok
[INFO] [stdout] test git::tests::parse_ssh_style_url_parses_host_port_and_repo_path ... ok
[INFO] [stdout] test prompts::tests::confirmation_parser_accepts_common_yes_values ... ok
[INFO] [stdout] test prompts::tests::confirmation_parser_rejects_non_affirmative_values ... ok
[INFO] [stdout] test prompts::tests::remote_runtime_prompt_lines_include_site_runtime_concerns ... ok
[INFO] [stdout] test prompts::tests::remote_setup_prompt_lines_include_firewall_configuration ... ok
[INFO] [stdout] test commands::init::tests::collect_non_interactive_uses_seed_and_cli_values_without_prompting ... ok
[INFO] [stdout] test embedded::tests::hooks_script_does_not_pass_config_to_doctor ... ok
[INFO] [stdout] test commands::init::tests::collect_non_interactive_requires_host_when_seed_and_cli_are_missing_it ... ok
[INFO] [stdout] test update_assets::tests::migration_manifest_is_embedded ... ok
[INFO] [stdout] test update_assets::tests::update_playbook_is_embedded ... ok
[INFO] [stdout] test config::tests::load_preserves_explicit_repo_project_and_web_root_overrides ... ok
[INFO] [stdout] test config::tests::load_applies_default_service_user_from_project_name ... ok
[INFO] [stdout] test config::tests::load_applies_default_web_root ... ok
[INFO] [stdout] test config::tests::load_applies_default_project_root_from_project_name ... ok
[INFO] [stdout] test config::tests::save_persists_ssl_settings ... ok
[INFO] [stdout] test config::tests::save_omits_derived_repo_project_and_web_roots ... ok
[INFO] [stdout] test config::tests::load_applies_default_repo_path_from_project_name ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/deployment_path_permissions.rs (/opt/rustwide/target/debug/deps/deployment_path_permissions-02f78c0e6fc242a4)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test common_role_creates_project_root_parent_before_placeholder_release ... ok
[INFO] [stderr]      Running tests/init_assets.rs (/opt/rustwide/target/debug/deps/init_assets-76ce0caf5d71f6c4)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 44 tests
[INFO] [stdout] test apparmor::apparmor_profile_template_allows_site_nginx_conf ... ok
[INFO] [stdout] test apparmor::apparmor_profile_template_does_not_deny_repo_path_parent_home ... ok
[INFO] [stdout] test apparmor::apparmor_profile_template_limits_network_to_unix_stream ... ok
[INFO] [stdout] test apparmor::apparmor_role_assets_exist ... ok
[INFO] [stdout] test apparmor::apparmor_role_enforces_project_profile ... ok
[INFO] [stdout] test apparmor::apparmor_role_verifies_kernel_enabled ... ok
[INFO] [stdout] test apparmor::laravel_php_fpm_apparmor_profile_allows_site_conf_root ... ok
[INFO] [stdout] test apparmor::nginx_service_template_sets_apparmor_profile ... ok
[INFO] [stdout] test apparmor::nginx_service_template_waits_for_apparmor_service ... ok
[INFO] [stdout] test firewall::firewall_role_applies_all_rules_in_a_single_shell_task ... ok
[INFO] [stdout] test firewall::firewall_role_keeps_status_check_and_debug_gated_by_show_status ... ok
[INFO] [stdout] test firewall::firewall_role_shell_filters_ssh_from_allowed_ports ... ok
[INFO] [stdout] test firewall::firewall_role_shell_handles_manage_ssh_with_and_without_cidrs ... ok
[INFO] [stdout] test firewall::firewall_role_shell_resolves_port_aliases ... ok
[INFO] [stdout] test firewall::firewall_role_shell_runs_only_when_firewall_enabled ... ok
[INFO] [stdout] test paths::shared_setup_playbook_uses_placeholder_web_root_paths ... ok
[INFO] [stdout] test paths::ssl_role_treats_ssl_enabled_as_explicit_boolean ... ok
[INFO] [stdout] test paths::nginx_and_apparmor_templates_use_resolved_paths ... ok
[INFO] [stdout] test paths::ssl_role_uses_current_web_root_path_manifest ... ok
[INFO] [stdout] test firewall::firewall_role_shell_sets_default_policies_and_enables_ufw ... ok
[INFO] [stdout] test setup_playbook::common_role_runs_toolchain_installers_as_async_jobs ... ok
[INFO] [stdout] test setup_playbook::remote_setup_playbook_loads_shared_setup_vars_and_doctor_task ... ok
[INFO] [stdout] test setup_playbook::remote_setup_playbook_includes_firewall_role ... ok
[INFO] [stdout] test setup_playbook::shared_setup_playbook_runs_pre_package_hook_before_setup_apt_packages ... ok
[INFO] [stdout] test setup_playbook::shared_setup_playbook_uses_single_setup_apt_packages_manifest ... ok
[INFO] [stdout] test setup_playbook::shared_setup_playbook_keeps_runtime_roles_out ... ok
[INFO] [stdout] test setup_playbook::remote_runtime_playbook_applies_runtime_apparmor_and_nginx ... ok
[INFO] [stdout] test setup_playbook::shared_setup_playbook_starts_setup_apt_packages_before_rustup_and_users ... ok
[INFO] [stdout] test apparmor::apparmor_role_verifies_profile_enforce_mode ... ok
[INFO] [stdout] test templates::laravel_nginx_template_uses_absolute_fastcgi_params_include ... ok
[INFO] [stdout] test templates::laravel_runtime_role_defaults_do_not_define_php_version ... ok
[INFO] [stdout] test templates::laravel_template_setup_vars_file_defines_php_version ... ok
[INFO] [stdout] test templates::laravel_template_setup_apt_packages_use_versioned_php_packages ... ok
[INFO] [stdout] test templates::laravel_php_fpm_service_template_leaves_privilege_dropping_to_the_pool ... ok
[INFO] [stdout] test apparmor::apparmor_profile_template_exists ... ok
[INFO] [stdout] test paths::ssl_role_defines_nginx_defaults_for_tag_based_execution ... ok
[INFO] [stdout] test setup_playbook::template_playbooks_include_apparmor_role ... ok
[INFO] [stdout] test templates::spa_template_runtime_roles_do_not_install_global_npm_packages ... ok
[INFO] [stdout] test templates::template_service_user_defaults_to_project_name_not_applications ... ok
[INFO] [stdout] test apparmor::apparmor_role_verifies_profile_loaded ... ok
[INFO] [stdout] test templates::template_setup_vars_files_define_runtime_and_package_metadata ... ok
[INFO] [stdout] test setup_playbook::remote_runtime_playbook_installs_runtime_packages_before_runtime_role ... ok
[INFO] [stdout] test setup_playbook::remote_setup_playbook_excludes_apparmor_role ... ok
[INFO] [stdout] test templates::shared_remote_scaffold_vars_file_defines_base_apt_packages ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/path_centralization_regressions.rs (/opt/rustwide/target/debug/deps/path_centralization_regressions-2abb62dcdb2e4ca7)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test apparmor_role_keeps_profile_path_derived_from_profile_name_override ... ok
[INFO] [stdout] test update_bonesremote_playbook_installs_from_git_like_init ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bonesdeploy_e2e_tests-0dd5deeadb38f45e)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/test-e2e.rs (/opt/rustwide/target/debug/deps/test_e2e-c17b74af6973ec30)
[INFO] [stdout] running 9 tests
[INFO] [stdout] test e2e_cmd_deploy::e2e_bonesdeploy_deploy_invokes_remote_hook_path ... ignored, e2e test
[INFO] [stdout] test e2e_cmd_doctor::e2e_bonesdeploy_doctor_local_passes_for_minimal_valid_layout ... ignored, e2e test
[INFO] [stdout] test e2e_cmd_init::e2e_bonesdeploy_init_reuses_existing_scaffold_and_symlinks_pre_push_hook ... ignored, e2e test
[INFO] [stdout] test e2e_cmd_pull::e2e_bonesdeploy_pull_syncs_remote_bones_folder_back_locally ... ignored, e2e test
[INFO] [stdout] test e2e_cmd_push::e2e_bonesdeploy_push_invokes_remote_sync_path ... ignored, e2e test
[INFO] [stdout] test e2e_cmd_remote_ssl::e2e_bonesdeploy_remote_ssl_reaches_real_ssl_ansible_flow ... ignored, e2e test
[INFO] [stdout] test e2e_cmd_rollback::e2e_bonesdeploy_rollback_invokes_remote_release_rollback ... ignored, e2e test
[INFO] [stdout] test e2e_smoke::e2e_harness_bootstrap_user_can_be_overridden ... ignored, e2e test
[INFO] [stdout] test e2e_smoke::e2e_harness_bootstrap_user_defaults_to_root ... ignored, e2e test
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bonesremote-91973d3e40d83330)
[INFO] [stdout] running 35 tests
[INFO] [stdout] test commands::deploy::tests::list_deployment_scripts_returns_sorted_files_only ... ok
[INFO] [stdout] test commands::deploy::tests::clear_directory_removes_all_direct_children ... ok
[INFO] [stdout] test commands::doctor::tests::apparmor_kernel_enabled_rejects_no ... ok
[INFO] [stdout] test commands::doctor::tests::apparmor_profile_filename_accepts_bonesdeploy_profile ... ok
[INFO] [stdout] test commands::doctor::tests::apparmor_profile_filename_rejects_unrelated_file ... ok
[INFO] [stdout] test commands::doctor::tests::apparmor_profile_binding_reads_first_profile_assignment ... ok
[INFO] [stdout] test commands::doctor::tests::apparmor_kernel_enabled_accepts_yes ... ok
[INFO] [stdout] test commands::doctor::tests::apparmor_unit_wiring_accepts_expected_unit_with_reordered_after_tokens ... ok
[INFO] [stdout] test commands::doctor::tests::apparmor_unit_name_for_profile_maps_project_unit ... ok
[INFO] [stdout] test commands::doctor::tests::apparmor_unit_wiring_rejects_unknown_profile_binding ... ok
[INFO] [stdout] test commands::stage_release::tests::ensure_non_owner_can_traverse_adds_other_execute_bit ... ok
[INFO] [stdout] test commands::post_deploy::tests::prune_old_releases_keeps_active_release_when_within_keep_limit ... ok
[INFO] [stdout] test commands::wire_release::tests::create_default_shared_target_creates_file_for_explicit_file_paths ... ok
[INFO] [stdout] test commands::wire_release::tests::create_default_shared_target_creates_directory_for_explicit_directory_paths ... ok
[INFO] [stdout] test commands::doctor::tests::apparmor_unit_wiring_rejects_missing_profile_binding ... ok
[INFO] [stdout] test commands::stage_release::tests::ensure_deploy_user_can_traverse_adds_required_owner_group_bits ... ok
[INFO] [stdout] test config::tests::load_derives_service_user_project_root_repo_path_and_web_root ... ok
[INFO] [stdout] test release_state::tests::clear_staged_release_removes_state_file ... ok
[INFO] [stdout] test release_state::tests::current_release_name_resolves_from_current_symlink ... ok
[INFO] [stdout] test release_state::tests::list_releases_sorted_returns_only_directories_in_order ... ok
[INFO] [stdout] test config::tests::load_fails_for_invalid_yaml ... ok
[INFO] [stdout] test config::tests::load_uses_defaults_for_missing_fields ... ok
[INFO] [stdout] test config::tests::load_fails_for_missing_file ... ok
[INFO] [stdout] test release_state::tests::point_symlink_atomically_creates_parent_dirs_and_points_to_target ... ok
[INFO] [stdout] test config::tests::load_keeps_default_service_user_when_project_name_is_empty ... ok
[INFO] [stdout] test config::tests::load_preserves_explicit_service_user_and_paths ... ok
[INFO] [stdout] test release_state::tests::point_symlink_atomically_repoints_existing_link ... ok
[INFO] [stdout] test commands::wire_release::tests::remove_path_removes_files_and_directories ... ok
[INFO] [stdout] test release_state::tests::read_staged_release_rejects_empty_file ... ok
[INFO] [stdout] test release_state::tests::write_then_read_staged_release_round_trips ... ok
[INFO] [stdout] test commands::deploy::tests::publish_release_tree_replaces_release_contents_with_build_workspace ... ok
[INFO] [stdout] test commands::post_deploy::tests::prune_old_releases_removes_oldest_inactive_releases_up_to_keep_limit ... ok
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all
[INFO] [stderr] hint: of your new repositories, which will suppress this warning, call:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git config --global init.defaultBranch <name>
[INFO] [stderr] hint: 
[INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
[INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git branch -m <name>
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all
[INFO] [stderr] hint: of your new repositories, which will suppress this warning, call:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git config --global init.defaultBranch <name>
[INFO] [stderr] hint: 
[INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
[INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git branch -m <name>
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all
[INFO] [stderr] hint: of your new repositories, which will suppress this warning, call:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git config --global init.defaultBranch <name>
[INFO] [stderr] hint: 
[INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
[INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git branch -m <name>
[INFO] [stdout] Initialized empty Git repository in /tmp/bonesremote_post_receive_test_117_1781206615286993002_build_workspace_missing/repo.git/
[INFO] [stdout] Initialized empty Git repository in /tmp/bonesremote_post_receive_test_117_1781206615286922062_workspace_permission_denied/repo.git/
[INFO] [stdout] Initialized empty Git repository in /tmp/bonesremote_post_receive_test_117_1781206615289221962_checkout_revision/repo.git/
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all
[INFO] [stderr] hint: of your new repositories, which will suppress this warning, call:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git config --global init.defaultBranch <name>
[INFO] [stderr] hint: 
[INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
[INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git branch -m <name>
[INFO] [stdout] Initialized empty Git repository in /tmp/bonesremote_post_receive_test_117_1781206615286993002_build_workspace_missing/work/.git/
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all
[INFO] [stderr] hint: of your new repositories, which will suppress this warning, call:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git config --global init.defaultBranch <name>
[INFO] [stderr] hint: 
[INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
[INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git branch -m <name>
[INFO] [stdout] Initialized empty Git repository in /tmp/bonesremote_post_receive_test_117_1781206615286922062_workspace_permission_denied/work/.git/
[INFO] [stdout] Initialized empty Git repository in /tmp/bonesremote_post_receive_test_117_1781206615289221962_checkout_revision/work/.git/
[INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name
[INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all
[INFO] [stderr] hint: of your new repositories, which will suppress this warning, call:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git config --global init.defaultBranch <name>
[INFO] [stderr] hint: 
[INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
[INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command:
[INFO] [stderr] hint: 
[INFO] [stderr] hint: 	git branch -m <name>
[INFO] [stdout] [master (root-commit) bb84cc1] initial
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README.md
[INFO] [stdout] [master (root-commit) bb84cc1] initial
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README.md
[INFO] [stdout] [master (root-commit) bb84cc1] initial
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 README.md
[INFO] [stderr] To /tmp/bonesremote_post_receive_test_117_1781206615286922062_workspace_permission_denied/repo.git
[INFO] [stderr]  * [new branch]      HEAD -> master
[INFO] [stderr] To /tmp/bonesremote_post_receive_test_117_1781206615286993002_build_workspace_missing/repo.git
[INFO] [stderr]  * [new branch]      HEAD -> master
[INFO] [stderr] To /tmp/bonesremote_post_receive_test_117_1781206615289221962_checkout_revision/repo.git
[INFO] [stderr]  * [new branch]      HEAD -> master
[INFO] [stderr] Already on 'master'
[INFO] [stdout] test commands::post_receive::tests::post_receive_checks_out_requested_revision_into_build_workspace ... ok
[INFO] [stderr] Already on 'master'
[INFO] [stdout] test commands::post_receive::tests::post_receive_requires_existing_build_workspace ... ok
[INFO] [stdout] test commands::post_receive::tests::post_receive_reports_permission_denied_for_inaccessible_workspace ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- commands::post_receive::tests::post_receive_reports_permission_denied_for_inaccessible_workspace stdout ----
[INFO] [stdout] Checking out master to /tmp/bonesremote_post_receive_test_117_1781206615286922062_workspace_permission_denied/deploy/build/workspace...
[INFO] [stdout] Error: post-receive should fail when workspace path is inaccessible
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error>::msg::<&str>
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/backtrace.rs:10:14
[INFO] [stdout]    1: anyhow::__private::format_err
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/lib.rs:687:13
[INFO] [stdout]    2: bonesremote::commands::post_receive::tests::post_receive_reports_permission_denied_for_inaccessible_workspace
[INFO] [stdout]              at ./src/commands/post_receive.rs:210:13
[INFO] [stdout]    3: bonesremote::commands::post_receive::tests::post_receive_reports_permission_denied_for_inaccessible_workspace::{closure#0}
[INFO] [stdout]              at ./src/commands/post_receive.rs:186:79
[INFO] [stdout]    4: <bonesremote::commands::post_receive::tests::post_receive_reports_permission_denied_for_inaccessible_workspace::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    5: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18
[INFO] [stdout]    7: test::run_test_in_process::{closure#0}
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74
[INFO] [stdout]    8: <core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]    9: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   10: std::panicking::catch_unwind::<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>>
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   11: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure#0}>, core::result::Result<(), alloc::string::String>>
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   12: test::run_test_in_process
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27
[INFO] [stdout]   13: test::run_test::{closure#0}
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43
[INFO] [stdout]   14: test::run_test::{closure#1}
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41
[INFO] [stdout]   15: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   16: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   17: <core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   18: std::panicking::catch_unwind::do_call::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40
[INFO] [stdout]   19: std::panicking::catch_unwind::<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19
[INFO] [stdout]   20: std::panic::catch_unwind::<core::panic::unwind_safe::AssertUnwindSafe<std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14
[INFO] [stdout]   21: std::thread::lifecycle::spawn_unchecked::<test::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   22: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23: <alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output = ()> + core::marker::Send> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   24: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]              at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   25: <unknown>
[INFO] [stdout]   26: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     commands::post_receive::tests::post_receive_reports_permission_denied_for_inaccessible_workspace
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 34 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.44s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p bonesremote --bin bonesremote`
[INFO] running `Command { std: "docker" "inspect" "c1bed8db4127cae5b823ff04cbeb2e8a3aac4d9bd94d8fb5c2fee887e0286d42", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1bed8db4127cae5b823ff04cbeb2e8a3aac4d9bd94d8fb5c2fee887e0286d42", kill_on_drop: false }`
[INFO] [stdout] c1bed8db4127cae5b823ff04cbeb2e8a3aac4d9bd94d8fb5c2fee887e0286d42
